home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Communication / Citadel_BBS / Docs / Cit_Amiga_Docs.lha / citadel.prf < prev    next >
Text File  |  1995-01-14  |  44KB  |  798 lines

  1. .fill
  2. .justify
  3. .rm 70
  4. .m1 0
  5. .m2 0
  6. .m3 0
  7. .m4 0
  8. .np
  9. .ls 1
  10. .ul off
  11. .nr a 1
  12. .nr b 0
  13. .nr a -1
  14. .autoparagraph
  15. .define UNIT
  16. .br
  17. .nr a +1
  18. .nr b 0
  19. .nofill
  20. .lm 0
  21. .cl 0 _@_{$1 $2 $3 $4 link $1 $2 $3 $4_}
  22. @na. $1 $2 $3 $4 $5 $6 $7 $8 $9
  23. .lm 1
  24. .fill
  25. .br
  26. .en
  27. .define SUBUNIT
  28. .br
  29. .nr b +1
  30. .nofill
  31. .lm 0
  32. .cl 0 _@_{$1 $2 $3 $4 link $1 $2 $3 $4_}
  33. @na.@nb. $1 $2 $3 $4 $5 $6 $7 $8 $9
  34. .lm 1
  35. .fill
  36. .en
  37. Document Citadel.Guide
  38. .br
  39. _@REMARK $VER: Citadel.guide 1.0 (27.11.94)
  40. .UNIT MAIN
  41.  The documentation contained is a collection of information based on
  42. the original Citadel 86 documentation by Hue, JR.  The mistakes are mine.
  43.  It is pretty much a complete reference manual and every attempt is being
  44. made to make this a complete manual with all details explained so that
  45. even the most novice of users can understand how to setup and run a bbs.
  46. The most important thing is to read this documentation and give it a try!
  47. .UNIT Citadel History
  48.  What is Citadel? Citadel is a Freeware project.  The source, executables
  49. and all the documentation are available for no cost to you.  If you paid
  50. for this, someone is ripping you off.
  51.  Citadel was written in mid-December 1981 by CrT.
  52. Miraculously, it ran three days unattended over
  53. New Year's, collecting some remarkably favorable reactions.
  54. During the months that it ran at 633-3282 (ODD-DATA),
  55. Citadel became one of the more popular BBs in town, and
  56. there was some disappointment when a hardware failure forced the system
  57. down in February of 1982.  But in January CrT had published the
  58. source code in BDS C, putting it in the public domain.
  59.  David Mitchell brought up the next incarnation of the Citadel
  60. program in April of 1982, running on hardware provided by Richard
  61. Knox.  Called the Island Communication System, it is located on
  62. Bainbridge Island in Puget Sound.  ICS has about 30 regular users
  63. and about 120 log entries.  Newcomers find it easy to learn, and
  64. often leave messages praising it.  Some of the system's daily
  65. users are in Boston.
  66.  Citadel is descended from DandD.pas, an adventure game editor/driver.
  67. It is arranged as a series of rooms, starting with the LOBBY.  In each
  68. room the user can read existing messages and leave more.
  69. The system was brought up
  70. with only one room, the LOBBY.  Additional rooms were created by
  71. the users, with room names appropriate to the topics covered.
  72.  Environment:  Citadel has had a checkered past.  It first ran
  73. on a 64K Heath H89 with Magnolia CP/M, Hayes Smartmodem (plus
  74. an acoustic on another port) and BDS C V1.32.
  75.  As time went on, Citadel was ported to the Amiga, Atari, and even
  76. the MAC.  Citadel runs on many platforms and since the source is available
  77. will probably run on most future ones too.
  78. .UNIT What is Citadel-68K
  79.  Citadel-68K(also know as Amiga Citadel) is a single user BBS program.
  80. It is a direct decendant of the 3.42 Citadel 86 by Hue, JR in Minnesota.
  81.  Citadel comes in two flavors, a
  82. 68000 based version that will run on any Amiga and
  83. an optimized 68030 based.  Citadel is able to run on any Amiga model and
  84. under any OS from 1.2 to the latest.  The CTDL(main BBS executable) and
  85. CONFG(BBS configuration tool) come in the two forms, the utilities come in the
  86. 68000 version only.  The Amiga Citadel is a direct port from the IBM
  87. Citadel 86 by Hue Jr.  It originally was done by Jay Johnston, who did
  88. not have the time to continue it so I, Tony Preston now maintain it.   I don't
  89. have the time either, but I try...
  90. .SUBUNIT Support Systems
  91.  Probably the hardest part of running a Citadel is getting started.  Citadel
  92. is not the most common of BBS programs even though it is free.
  93.  You should be able to read this document and setup your configuration file,
  94. run `CONFG' and then startup the BBS with no problems.  Since this rarely
  95. happens and having a helping hand from someone that has already done what
  96. you are trying to do can make things easier, you might want to try one of
  97. these three places for help and information.
  98.  The first is The Amiga
  99. Zone, my BBS(609-953-8159).  It is available 24 hours and is where you will
  100. find the most support and help.  I will often chat with people that call for
  101. help and alway try to answer mail messages promptly.
  102. Since calling long distance may not be an option for you, check around in
  103. your area and see if you can find a local Citadel where you
  104. can take major advantage of the networking features built into Citadel!  The
  105. `C86Net' contains several support rooms where you can post your questions and
  106. usually get quick answers.  These rooms are "Citadel 68K" and "Sysop Only".
  107. If your local sysop will let you have some Long Distance credit you can send
  108. me domain mail at "tony preston@The Amiga Zone.NJ".  You will learn more about
  109. domain mail later.  There are many Citadels active on the network so you
  110. might check the `BBS List' included in this document to see if one is local
  111. to you.
  112. finally, you can send me mail via  Internet.  I will answer the mail quickly
  113. monday thru friday.  Anything sent over the weekend will wait till monday.
  114. you can reach me at "apreston@isd.csc.com" or "tony-preston@cup.portal.com".
  115. .SUBUNIT  Hardware required
  116.  The minimum configuration for `Citadel'
  117. is a 512K Amiga with 2 floppies.  This will allow you to run the BBS, but
  118. probably not much more.  There are some people that have run Citadel on such
  119. a small system.  Most either expand their system or just quit running it.
  120. 1 MB of memory and a hard drive is really the
  121. practical limit.  I have created and ran a test bbs on an A500 with 1 MB
  122. of memory and 2 floppies.  I would recommend that you have 2 MBs and as
  123. a minimum a 20 MB HD for the BBS.
  124. .SUBUNIT Requirements
  125.  Citadel will run on any Amiga Model.  There are some minor problems with
  126. running CONFG and fast memory on A3000s and A4000, but the work around is
  127. simply to run NOFastMem before running CONFG.  These may be fixed at any
  128. time, but since I do not have an A3000 or A4000, I can't look for the problem.
  129.  Citadel does not need any external support software to run.  It relies
  130. on the Operating System for 100% of the normal functions and is compatible
  131. with 1.2 through to the latest OS.
  132.  Citadel does not use alot of stack space, but will require that you have
  133. your stack set to 8K or larger.  8K is more than enough for even the
  134. largest and most complex Citadel.  Citadel will make sure you have at least
  135. an 8K stack or it will quit with a `Citadel Error'.
  136.  It is important to note is that you really should
  137. plan on a 24 hour BBs, with a dedicated phone line.  A BBS that is available
  138. from 11pm to 6am is not going to be very popular.  I would suggest that you
  139. do not even consider networking unless your BBS is on a regular schedule.
  140. .SUBUNIT Citadel Error
  141.  Citadel is a complex system of functions.  In any complex system, things
  142. go wrong.  Citadel attempts to validate most things when it starts up.
  143.  Once you have the BBS up and running, you still may run into an occasional
  144. problem.  The first thing to do is to collect sufficient information on
  145. what exactly is going on.  Many times, if you look at the data you might
  146. be able to solve the problem youself!
  147.  In general, if you get an error and this information does not tell you
  148. how to correct it, collect as much information as possible and report what
  149. happended either directly to me or in the Citadel 68k room.  The first
  150. thing to look for is a file called `debug.sys' or `crash.sys'.  These files
  151. should appear in either your audit area, the home area, or the location
  152. you started up Citadel.  I usually will want the information in these
  153. files(even if it is just a cryptic one line message like "dependant variables
  154. mismatch", sometimes it tells me exactly where the problem is).  The second
  155. thing I will tell you to do is turn on debug, Here is a general method I
  156. end up telling people:
  157. .in +5
  158.  1) go into the Sysop menu, turn on debug "D" option.  You can also do
  159. this by typing ^D in the console window.
  160.  2) Shut down your Citadel, "X" option.
  161.  3) delete debug.sys in the audit area(or save it if it contains
  162. info I might need.  At the least, edit the file and add some
  163. markers (like two lines of asterisks) at the end of the file.
  164.  4) Bring up Citadel and attempt to reproduce the problem.  If you
  165. cannot do it locally, you might even ask a remote user to do it
  166. for you.  leave debug on.  Note:  If you run confg, debug is
  167. automatically turned off, repeat the above steps to turn it on again.
  168.  5) archive all the information(using something like lha) and arrange
  169. to get the information to me.  I may call your BBS to download the
  170. file so make some arrangements in Citadel 68K so I know where it
  171. is.
  172. .in -5
  173.  The above may generate alot of output.  Much of the output is cryptic
  174. and may not seem like anything understandable.  It is mostly internal
  175. data and is useful to me.
  176.  From time to time, other errors may appear when you do something that
  177. you really should not do(like power down the modem and then power it up).
  178. These will generate errors like:
  179. .in +5
  180.  Error:  [1]IOError = nnnn
  181.  Error:  [2]IOError = nnnn
  182. .in +5
  183.  Reason:  nnnn is a result code returned from a serial port i/o, usually
  184. a dropped carrier(small timing window for a race condition could
  185. cause this).  The error is handled for 99% of the cases in a way
  186. that will cause Citadel to recover and reset.  [1] is the case
  187. where I check to see what is in the serial port buffer, and [2]
  188. is when the actual read is done.
  189. .in -5
  190.  Error:   Startup Error Code nn
  191. .in +5
  192.  Reason:  something went wrong during system initialization. The reasons
  193. are:
  194. .in +5
  195.  1 - unable to open intuition.library, you must be 1.2 or greater
  196. to run Citadel.
  197.  2 - unable to open graphics.library, same as 1.  This error also
  198. used to mean that the req.library was not in the libs: directory.
  199. This is no longer a requirement.  Citadel does not depend on the
  200. req.library(versions 3.42.P15 or later anyway).
  201.  3 - Insufficient Stack space, Citadel versions 3.42.E19 and
  202. earlier required a large stack, much larger than needed
  203. (50K).  Versions 3.42.P35 and later will require a 8K
  204. stack or less(I am still adjusting the values down).
  205. Citadel still
  206. requires the larger limit just to be cautious.
  207.  11 - Console Open Error.  Catch all for console window errors
  208. If you are using #WBSCREEN, try without it.
  209.  25 - Open Serial Port Failed, Well, Citadel could not get to
  210. the serial port(maybe something else has it open.  Note:  You
  211. will not get this error if you run Citadel while it is already
  212. running since it opens the serial port in a shared mode.
  213.  31 - Could not create a Port for timer communications, Low
  214. memory?  Trashed system tables?  Try a re-boot.  This is
  215. one of those, "you should never get here".  If you bug me
  216. with this type of problem, you had better have a full
  217. system configuration and alot of details.
  218.  32 - could not create an I/O request. See 31.
  219.  33 - Open timer.device failed.  See 31.
  220. .in -5
  221.   Note:  In the serial port open errors, and in most cases with debug
  222. turned on, you will get a text error message of the form:
  223.  1:    Date - Dos Error:nnnn
  224.  2:    (some text as to what happened)
  225.  3:    (some text as to what happened) <-- you may get only one line.
  226.  4:    Reason: <error text>
  227.  5:    Current Directory
  228.  
  229.  Line 1: is the internal error code(less than 100), or the Dos error
  230. code.
  231.  Lines 2-3: will either be a command(like in the external protocols) and
  232. a text line, or just one line of text.  External commands will display
  233. the text and command, most errors do not have an external command.
  234.  4: is the reason the error occured(from the Exec routine Fault).
  235.  5: is the current directory.  This is important if you are trying to
  236. setup a door for example and in the wrong directory.
  237.  If the problem is reproducable, do it several times and record all possible
  238. information, especially your system configuration!  If it happens just
  239. once and you can not reproduce it, then still record what you can, check
  240. things like memory in use, what is running.
  241. .in -5
  242.  Note:  If you have a problem that seems to happen often, realize that I
  243. rarely have a crash.  Pleae check to see that something else is not causing
  244. the problem.  Remove commodities, other programs and see if you can cause
  245. the problem without that super-duper-whiz-bang mouse accelerator/screen
  246. blanker!  It probably ain't Citadel!  If you are running on a 512K system,
  247. you may just be running out of memory.  While every attempt has been made
  248. to exit in a friendly manner, no guarentees...
  249. .SUBUNIT Limits
  250. For the most part,`Citadel'
  251. only has your imagination as the limits...  In practicality, there are some
  252. real physical limits you will have.  Each of these limits can be difficult
  253. to adjust later so some planning is important at this point.
  254. You must set a limit on the number of users (`#LOGSIZE'), rooms (`#MAXROOMS'),
  255. and messages (`#MESSAGEK').  These parameters will directly determine the
  256. amount of memory used while the BBS is running and the disk space needed to
  257. support the message base and userlog.
  258. .UNIT CONFG
  259.  To setup the BBS, you must first configure your system.  This means taking
  260. the example configuration and tayloring it to your liking.  The example is
  261. based directly on `The Amiga Zone'.  The first thing you must do is chose
  262. a name for your BBS (`#NODENAME'), a default banner (see `banners' and
  263. `#NODETITLE'), enter in your Identification (`#NODEID').  It is this basic
  264. information that users and other Citadels will know your bbs by.  Once you have
  265. an idea of what
  266. the theme of your BBS is, you can apply it to the initial room (`#BASEROOM'),
  267. and floor (`#MAINFLOOR').  These will be the initial place that people are
  268. located at when they login to your BBS.  Now comes the real work.  You must
  269. decide some `basic system parameters' that will define how much disk space
  270. your system will use.  This is important since the smaller the message base
  271. is, the quicker messages will scroll off.  Citadel has a fixed message base
  272. so that once you configure your system, the disk space usage is constant.
  273. You will never run out of message space, the BBS will reuse the existing
  274. space deleting the oldest messages to make room for the new ones.
  275.  Next we have the `USER_PARAMETERS' which define the default `PRIVILEGES'
  276. for your users.  These determine how open your system is(can a user create
  277. their own account or do you do it?).  Whether people are able to use doors,
  278. or post messages to the network.  If you restrict people, then they will have
  279. to ask you for the privilege(and you will have to give it to those you choose).
  280. If you make them the default, people will get them automatically, you then
  281. do not have to do anything.  I setup my system to be as automatic as possible.
  282. People can create their own account and do not need to be validated.  The
  283. example setup is configured that way.
  284. The most important user is the SYSOP,
  285. You.  There are some parameters that make your life easier. the `sysop_parameters'
  286. will take care of those.  Now we get to `Network' parameters which you can
  287. skip initially, but will eventually want to look into.  Get your BBS up and
  288. running first before you worry about that.
  289.  The basic BBS has several `areas' you will want to setup.  Most people will
  290. setup a logical assignment that is the root of the BBS disk area (called `#HOMEAREA') and
  291. make everything a subdirectory off of that.  Citadel is pretty flexible, if
  292. you are running from an A500 with 2 floppies, it will run, even if the size
  293. will be small!
  294.  CONFG is simple to run.  Once you have created the `CTDLCNFG.SYS' file, you
  295. just run CONFG in the same directory.  It will read each line, and report
  296. any errors.  If there are errors, it will stop after the last line is read.
  297. If no errors, it will finish up its processing, possibly ask you some
  298. questions and create all the required files.
  299. .SUBUNIT SYSOP_PARAMETERS
  300.  
  301. .SUBUNIT USER_PARAMETERS
  302.  User parameters is a catch all for most of the parameters related to user.
  303. Since the BBS is about users, nearly everything could be put into this
  304. catagory.  There are three sets of parameters.  The first is the `unlogged users'
  305. parameters.  This is all the parameters relating to a user that has not
  306. logged in yet.   The second is the `PRIVILEGES', the values given to a new
  307. user when their account is created.  The last is the `user characteristics'.
  308.  Each of these parameters must be setup and will define the way your BBS
  309. operates.
  310. .SUBUNIT unlogged users
  311.  When a user first calls the BBS, they will get a set of default parameters
  312. that will define how the BBS operates until they login or create an account.
  313. If you do not allow them to create an account on their own, they will have
  314. to send you mail and you will have to do this manually(called account validation).
  315. Citadel allows you to operate either way.  For unlogged users, the parameters
  316. are:
  317. .nf
  318.  `#UNLOGGED-WIDTH'   -  The default width of a line
  319.  `#LOGINOK'          -  Open/Close system control
  320.  `#ENTEROK'          -  Can users enter messages while not logged in?
  321.  `#READOK'           -  Can users read messages while not logged in?
  322.  `#ANON-MAIL-LENGTH' -  Limit on anonymous mail length to prevent `RUGGIES'
  323.  `#LOGIN-ATTEMPTS'   -  Limit on how many times a user can make a mistake
  324. .SUBUNIT PRIVILEGES
  325.  This section defines the user privileges, defaults and all related parameters.
  326. These parameters will save you some time and effort.  If you have doors and want
  327. everyone to be able to play, it does not make sense to have to give everyone the
  328. privilege.  Instead use these parameters to set the defaults.
  329.  `#DOORPRIVS'        -  Allow new users to have access to doors
  330.  `#ROOMOK'           -  Allow users to be able to create new rooms.
  331.  `#ALLMAIL'          -  Control who can use mail
  332.  `FILE-PRIV-DEFAULT' -  Allow users to have file up/down load access
  333. .SUBUNIT user characteristics
  334. .SUBUNIT #BASEROOM
  335.  Citadels always have a minimum of three rooms.  There is the `Aide room',
  336. `Mail room', and the initial room a caller starts out in called the base room.
  337.  Historically, the initial room was always called The Lobby.  Most Citadels
  338. today have this configuration parameter which allows you to name that initial
  339. room.
  340.  This parameter is a string value obeying formatting
  341. directives and goes through the Citadel formatter, and you must limit
  342. yourself to 19 characters or less for this value. And one more note --
  343. Citadel will append the '>' to this name when it prints the room prompt
  344. for this room, you don't have to put it in yourself. If you wished to
  345. emulate the old CP/M Citadel, you'd set baseRoom thus:
  346.  #BASEROOM "Lobby"
  347.  There is no default for this parameter.
  348. .SUBUNIT #MAINFLOOR
  349.  MainFloor is analogous to #BASEROOM.  Most Citadels have a base
  350. floor, just as it has an Aide> room, etc.  This parameter allows you to
  351. name this base floor.  This parameter is a string value which cannot be
  352. longer than 19 characters, and specifies the name of your base floor.  So,
  353. if you want to name your base floor MAIN FLOOR, you'd have
  354.  #MAINFLOOR "MAIN FLOOR"
  355.  There is no default value for this parameter.
  356. .SUBUNIT areas
  357.  The BBS is organized into what is called areas.  These are directories that
  358. either Citadel creates files in, or uses to recieve temporary files from a
  359. network session, or user action.  There are parameters for each of the
  360. major areas.
  361. .nofill
  362.  `#HOMEAREA'        - The root location of the BBS.
  363.  `#HELPAREA'        - Help files(`.HLP'), menus, and banners
  364.  `#LOGAREA'         - User data files
  365.  `#ROOMAREA'        - Room related files
  366.  `#MSGAREA'         - Message base
  367.  `#FLOORAREA'       - Floor related files
  368.  `#AUDITAREA'       - User, Door, and File activity
  369.  `#HOLDAREA'        - Hold area for user messages
  370.  `#EDIT-AREA'       - Editor area for a sysop editor(console only)
  371.  `#NETAREA'         - Network files area
  372.  `#NET__RECEPT__AREA' - Receiving area for files sent to you
  373.  `#DOMAINAREA'      - Domain data files area
  374. .fill
  375.  The `CONFG' program will require that you define each area and will create
  376. the directory if it does not exist.
  377. .SUBUNIT #HELPAREA
  378.    This parameter specifies where all of your Help files will be located.
  379. These files are *.HLP, *.BLB, and *.MNU.  Normally, you should create this
  380. directory and place the help files in the directory before bringing up
  381. Citadel-86, since help files are usually online at all times.
  382.  #HELPAREA "cit:helps"
  383.  The help files, menus and default bulletins are in the cithelps.lha
  384. file in the Citadel Documentation room.  You will have to do some customization
  385. of these files for your system.  If you find an error or re-write the
  386. contents of a file, try to return that file so that others will benifit from
  387. your work.
  388. .SUBUNIT #LOGAREA
  389.  This parameter specifies the location of your `CTDLLOG.SYS' file (this
  390. file is sized by your `#LOGSIZE' parameter).
  391.  #LOGAREA "cit:users"         -- put it in a general system dir
  392. .SUBUNIT #ROOMAREA
  393.  This parameter specifies the location of `CTDLROOM.SYS', `CTDLARCH.SYS',
  394. and `CTDLDIR.SYS'.
  395.  #ROOMAREA "cit:room"          -- another general system dir
  396. .SUBUNIT #MSGAREA
  397.  This parameter specifies the location of `CTDLMSG.SYS'.  It is also the
  398. location of the special Citadel message file `CIT__MESSAGES.SYS'.  Citadel
  399. will create the message file when you run `CONFG', the other file is
  400. supplied with the executable archive.
  401.  #MSGAREA "cit:messages"            -- give msgs there own place in the sun
  402. .SUBUNIT #FLOORAREA
  403.  This parameter specifies the location of `CTDLFLR.SYS'.
  404.  #FLOORAREA "cit:floors"
  405. .SUBUNIT #AUDITAREA
  406.  This parameter is a string value
  407. parameter specifying a directory which will hold the audit
  408. files.  If this parameter is not present in your `CTDLCNFG.SYS' file, then
  409. the audit files will not be created or updated by Citadel.
  410.  The audit files are usually text files of information on how the BBS is
  411. running.  For example there is a file (`CALLLOG.SYS')  which shows information
  412. on the callers.  Another file keeps track of door usage (`DOORUSE.SYS'), and
  413. another one the file up/download information (`FILELOG.SYS').
  414.  #AUDITAREA "c:audit"         -- This can only be a subdirectory
  415. .SUBUNIT CIT__MESSAGES.SYS
  416.  This file contains most of the Citadel BBS messages.  The BBS references
  417. the text via the Message code.  This allows the SYSOP the maximum flexibility
  418. in configuring their BBS.  You can use the standard messages, or customize
  419. them to your heart's content.
  420.  The Message file is formatted into one line per message.  The first 8 columns
  421. may be A "#" for a comment line, or a message code.  THE "#" in column 1 will
  422. cause the rest of the line to be ignored.  Column 9 is blank, for readability,
  423. and columns 10 to 79 are the message text.  If the message text starts with
  424. an "@", the message text is taken to be a filename and that file will be read
  425. instead as the message text.  This will allow you to have more than one line
  426. in a single message.  The message codes end in either EX for expert user
  427. messages, or NO for novice user message.  If no EX version exists, the BBS
  428. will automatically use the NO version.  If neither one exists, the BBS will
  429. display "***ERROR CODE nnnnnnnn" where nnnnnnnn is the missing message.  If
  430. these occur, just create the appropriate message and add it to the file.
  431. If you find any message codes in the original file missing, then notify the
  432. Amiga Zone.
  433.  One of the reasons for the message formatting is to get system dependant
  434. information from the BBS by using special variable names.  These names are
  435. listed below:
  436. .nf
  437. .nap
  438.   Variable     Description
  439.   ^variant     Name of this Citadel Variant such as "Citadel 68K"
  440.   ^version     Major Version Id of Citadel
  441.   ^sysvers     Minor Version Id of Citadel
  442.   ^baseroom    The baseroom of your BBS
  443.   ^sysop       The name of the Sysop
  444.   ^nodetitle   The BBS Node Title
  445.   ^nodename    The BBS Node Name
  446.   ^nodedomain  The Domain the BBS is considered part of
  447.   ^nodeid      The BBS Node Id
  448.   ^mainfloor   The Floor that contains the BaseRoom
  449.   ^curruser    The name of the Current User.
  450.   ^ulprotocols A list of the Protocols usable for uploading
  451.   ^dlprotocols A list of the Protocols usable for downloading
  452.   ^doorlist    A list of the Doors available in the current room
  453.   ^lastuser    The last caller's name
  454.   ^privileges  A list of the privileges you currently have.
  455.   ^callcount   The number of calls this Citadel has recieved.
  456.   ^ia1         Special Integer Argument #1 (see below)
  457.   ^sa1         Special String Argument  #1
  458.   ^ia2         Special Integer Argument #2
  459.   ^sa2         Special String Argument  #2
  460.   ^ia3         Special Integer Argument #3
  461.   ^sa3         Special String Argument  #3
  462.   ^currtime    The current time
  463.   ^currdate    the current date
  464.   ^s           A single space
  465.   ^n           A newline followed by a space
  466. .fill
  467. .autoparagraph
  468.  The Special Arguments are pieces of data that are used in some of the
  469. existing messages.  Currently the 3rd one is not used(but may be).  Most
  470. of the messages do not use them, but those that do should probably continue
  471. to use them.  You can remove the special variable from the messages that
  472. currently do use them, but adding them to a message that does not will get
  473. you a zero for an interger argument and nothing for a string argument.
  474.  It is best to keep the original message file around to check to see what
  475. was available for the code.
  476. .SUBUNIT CALLLOG.SYS
  477.  CALLLOG.SYS contains three types of notes.  The first type lists when
  478. the system has come up and down.
  479.  The second type records who has called, listing login and logout times,
  480. one line per person, in the following format:
  481.  <person>   :   <login time> - <logout time> <baud rate>
  482.  Occasionally such a line will have an extra character appended onto it,
  483. and they have the following significance.
  484. .nofill
  485.  '+'  The user logged in as new.
  486.  '-'  The user used .TS to logout.
  487.  'T'  The user timed out on the system.
  488.  'E'  The user hit the error limit on the system and was kicked off.
  489.  'B'  The system kicked the user off for too many offenses against `BADWORDS.SYS'.
  490.  'C'  The user tried to chat with you.
  491. .fill
  492.  The third type of message in CALLLOG.SYS are notes regarding network
  493. sessions, both normal and anytime-net.  These record on a single line
  494. the start and end times of the net sessions.  This particular message can
  495. be disabled by using the #CLEAN-CALLLOG parameter.
  496. .SUBUNIT FILELOG.SYS
  497.  FILELOG.SYS format is somewhat different.  Generically, it looks like
  498. this:
  499.  <user name> @ <baud rate>
  500.  file1 (n bytes) <roomname> <U or D> <start to end> <length> <protocol>
  501.  [FAILED]
  502.  file2 (n bytes) <roomname> <U or D> <start to end> <length> <protocol>
  503.  [FAILED]
  504.  This format keeps the number of user names down.  "n bytes" is the size
  505. of the file.  "roomname" is the room involved.  "U or D" refers to whether
  506. the named file was Uploaded or Downloaded.  "start to end" refers to start
  507. time and end time of the file session, while length is the amount of time
  508. involved.  Protocol will be one of the three XMODEM, YMODEM, or WXMODEM, or
  509. an external one you have setup.
  510. "FAILED" will only appear on the line if the transfer failed.
  511. .SUBUNIT DOORUSE.SYS
  512.  DOORUSE.SYS simply lists who used what doors for what amount of time
  513. at what time of the day.  It appears in the `#AUDITAREA'.
  514. .SUBUNIT #HOLDAREA
  515.  Citadel has an optional capability to save a user's messages, put them on
  516. hold so to speak.  This can be because the user lost carrier while entering
  517. a message, or told the BBS to Hold the message for later.  The reason this
  518. is optional, is that if you do not specify this area, a user will not be able
  519. to use this option and any message held will be lost when the user terminates
  520. the session.  A held file takes about 8K bytes of space on the disk.  It is
  521. possible that every user could have a held message at one time, each is uniquely
  522. identified so in figuring disk space, this should be remembered.
  523.  #HOLDAREA "hold"
  524. .SUBUNIT #EDIT-AREA
  525.  The optional edit area goes along with the sysop editor directive `#EDITOR'
  526. which is used to define a directory where the BBS will put the temporary
  527. message file and run the sysop editor(this is for the console user only).
  528. This is like any BBS area.
  529.  #EDIT-AREA "RAM:"
  530. .SUBUNIT #EDITOR
  531.  This is the command that is used to run the optional Console user editor.
  532. When a user is logged into the console, this command is used to invoke the
  533. external program to edit the message text(will be written to tempmsg.sys in
  534. this area).  This command should specify any options needed to make the
  535. editor run and have the BBS pause while the editor is running(some editors
  536. will release the task as soon as they startup which will make Citadel think
  537. your done editing).
  538.  #EDIT-AREA "TTX WAIT"
  539. .SUBUNIT #NETAREA
  540.  This command tells the BBS where to put the files that are related to the
  541. network process.  It is like any other BBS area.
  542.  #NETEAREA "NET"
  543. .SUBUNIT #NET__RECEPT__AREA
  544.  This is a special BBS directory that is used to store all files sent to your
  545. system by another system during a network session.  When a system uses the
  546. Send File faculty(not the same as requesting a file over the network).
  547.  #NET__RECEPT__AREA  "Recieving"
  548.  Files sent to your BBS using the utility `AFF' will appear in this area.  In
  549. addition, the parameters `#NET__AREA__SIZE' and `#MAX__NET__FILE' will be used to
  550. limit the amount of files and the largest file in this area.
  551. .SUBUNIT #NET__AREA__SIZE
  552.  This parameter controls the total amount of space you wish to allow files
  553. coming into your system via the net(Send File Command).  This is the limit
  554. on files being sent to your without you asking.  If this area fills up to
  555. this size, additional files will be rejected.
  556. .SUBUNIT #MAX__NET__FILE
  557.  This parameter controls the size of the largest file your will allow to be
  558. sent to you during a network session.  Files larger than this size will be
  559. rejected.
  560. .SUBUNIT #DOMAINAREA
  561.  This parameter specifies the area where Citadel will put the domain related
  562. temporary files.  The files in this area are dynamic.  Citadel will create
  563. them as needed and maintain them totally.  You will not need to worry about
  564. these files unless there is a problem with domain mail and you are the server
  565. for your domain.  This is a fairly advance topic and not covered in this
  566. document.  Eventually, there will be a separate document for these types of
  567. issues.
  568. .SUBUNIT basic system parameters
  569.  The basic system parameters define how many `rooms'(`#MAXROOMS'),
  570. messages per room(`#MSG-SLOTS'), private mail messages per user(`#MAIL-SLOTS'),
  571. Size of the message base(`#MESSAGEK') and if you will want it encrypted
  572. (`#CRYPTSEED').  You want to give some careful thought to these parameters
  573. since any choices made now will be a bit painful to modify later.  There are
  574. `utilties' that will allow parameters to be modified, but only to increase them.
  575. To decrease them requires that you start over by deleting the appropriate
  576. files and reconfiguring.
  577.  I recommend that you keep `#CRYPTSEED' at zero
  578. although any value can be used.  It makes debug easier for me if I grab
  579. your files plus that value will speed up all the processing.
  580. The message slots and size of the message base is a little cryptic.  If
  581. you have 100 slots, then Citadel will remember the last 100 messages in
  582. each room.  Mail has a separate value, but it is the same idea.  With
  583. 100 rooms, you have 10,000 active messages possible in the system.  With
  584. messages sizing from  500 bytes to 7500 bytes, you could have a message
  585. base of 5,000,000 to 75,000,000!  Typically the average message is alot
  586. closer to the 500 bytes size.  The 600K size here gives me a file that is
  587. 1217 blocks in size(614400 bytes).  This would actually fit on a floppy
  588. if you wanted(although it would pretty much fill the floppy).
  589. You can make these pretty much any value you want, the larger the value
  590. the more the disk space needed.  A reasonable approximation for messagek
  591. is:
  592.  ( MSG-SLOTS + MAIL-SLOTS ) * 2.75K
  593.  ( 120 + 99 ) * 3K = 602.25
  594.  You can use more.....
  595. For the larger sized system, use 7.5K and get 1604K...
  596. The practical limit is 4095K
  597. .SUBUNIT #CRYPTSEED
  598.    CRYPTSEED is a value used in encrypting the data files.  Choose a
  599. value when you install the system, but not thereafter -- or you
  600. won't be able to read the existing files any more.  If you use a value of
  601. zero, none of the data files will be encrypted.  This has little value since
  602. you as SYSOP can access anybody's account and read any message, there is no
  603. privacy.  I recommend using zero.  You should not allow any of the system
  604. files to be downloaded and this is the only protection you have if you do.
  605. It is better to keep the users out of the data files.  Using zero has an
  606. additional benifit that your system will be slightly faster.  If you use a
  607. non zero encryption seed, all the data files will be encoded.   An example
  608. is:
  609.  #CRYPTSEED 1234
  610.  It is important that you do not change this value.  If for some reason you
  611. should lose your `CTDLCNFG.SYS' file, run the `VERIFY' utility and it will
  612. display not only this value, but the value of all the important data from
  613. this file.  Without this data item, you will not be able to reconfigure
  614. your BBS.  This is important since if the bbs should crash, or your system
  615. should go down while the bbs is running, you have to run the CONFG utility
  616. to recreate the data file `CTDLTABL.SYS'.  Without that file, the BBS will
  617. not run.  There is only one parameter on the command line.  If it does not
  618. match "onlyParams" or "FirstInit" then CONFG will assume you are re-initializing
  619. the BBS.  "FirstInit" assumes that you want to create the BBS from scratch
  620. initializing all the files as if creating a new BBS.  This means that if you
  621. already have a BBS up and running, all the data files will be re-created and
  622. initialized as empty(i.e all existing users deleted, all messages gone).  You
  623. can use this the first time and CONFG will not ask you any questions about
  624. creating this file or that one...  Once you have a running BBS and you need
  625. to modify certain parameters(see `Safe Configuration Parameters')
  626. .SUBUNIT Safe Configuration Parameters
  627.  These parameters control characteristics of the BBS and not file sizes.  You
  628. can modify these at any time by changing the value in the `CTDLCNFG.SYS' file
  629. and then running "CONFG ONLYPARAMS".  To do this, change the file, bring the
  630. BBS down, then run CONFG and then restart the BBS.
  631. .SUBUNIT  #NODEID
  632.  As mentioned, this parameter is a network parameter that has
  633. traditionally always been set, even for non-network Citadels.  If you have
  634. no plans to ever be on a `C86Net', Then this is not real important.
  635.  If you do plan to join the `C86Net',
  636. (we'll go over this in more detail in the section on `Networking'),
  637. then you do have to set this parameter correctly.  The format of this
  638. parameter is
  639.  "<Country code><Area Code><Phone number>"
  640.  all of which applies to the phone your system resides on.  Country
  641. code is a two letter sequence indicating what country you live in (US is
  642. the United States, CA is Canada.  Other country codes may be found in
  643. COUNTRY.DOC). Area code is the area code of your system (yes,
  644. we are aware there is a clear bias towards US-style telephony).  And
  645. Phone number is, of course, the phone number your system is on.  You
  646. can put punctuation (such as parenthesis and dashes), but please be
  647. conservative with them.  This string value does not obey formatting
  648. directives.  Here's a fairly generic example:
  649.   #NODEID "US (609) 953 8159"   -- Some system somewhere..:)
  650.  Other systems will use your node id to call you for networking.  It
  651. will be how other systems identify your system's messages.
  652. .SUBUNIT  #NODENAME
  653.  nodeName is, in reality, purely a network parameter, and if you have no
  654. plans to ever join a `C86Net', then there is no need to fill in this
  655. parameter.  However, it has always been traditional, even before there was
  656. a net for any Citadel system anywhere, to fill in this and the `#NODEID'
  657. parameter.   nodeName is a string value which does NOT accept
  658. formatting directives (i.e., formatting directives will be ignored).  It
  659. can be no longer than 19 letters long.  It should be a short, mnemonic
  660. name for your system.  An EXAMPLE of a reasonable value:
  661.  #NODENAME "ODD-DATA"             -- The original Citadel
  662.  If you ever do join a `C86Net', messages from your system appearing on
  663. another Citadel-86 node will look something like this
  664.  82Nov23 from Cynbe ru Taren @ODD-DATA
  665.  except ODD-DATA would be replaced with your value for #NODENAME.
  666. .SUBUNIT  #NODETITLE
  667.  The first parameter you should find is called nodeTitle. It is a string
  668. value obeying formatting directives, and is subject to formatting
  669. considerations.  nodeTitle is the title of your installation printed when
  670. carrier is detected on your system.  More precisely, nodeTitle will show
  671. up in the following place on your system:
  672.   Welcome to <#NODETITLE>
  673.  However, nodeTitle may not necessarily be printed at this point.  After
  674. successfully bringing your system up, please consult the section
  675. on Help Files for more information on banner options.  EXAMPLE:
  676.  #NODETITLE "Test System\n Truly a Heaven in Reverse"
  677. The #NODETITLE is printed out on .Read Status commands, also.  There is no
  678. formal limit on the length of this parameter.
  679. .SUBUNIT  banners
  680. .SUBUNIT  The Amiga Zone
  681.  The Amiga Zone is the primary support BBS.  The number is (609) 953-8159.
  682. There are other Citadels that will help the budding Sysop out, but this is
  683. the place you will find the latest and greatest version of Citadel, CONFG,
  684. and the Utilities.  In addition to calling direct, you should think about
  685. networking the Citadel 68K room.  This is the place where comments, bug
  686. reports, and other issues are discussed.  The Amiga Zone will feed the room
  687. to any Citadel that wishes to network, however, the Amiga Zone will not call
  688. out for a network session unless the system is local.  You will have to pay
  689. for the calls.  This does not amount to much if you call a few times a week.
  690. Fortunately, there are about 200 Citadels in the USA and Canada, you might
  691. find a local system to network with, or one that costs less than the Amiga
  692. Zone to network with.  If you wish, I will answer questions at my internet
  693. address "apreston@isd.csc.com" or "tony-preston@cup.portal.com".
  694. .SUBUNIT  #LOGSIZE
  695.  This numerical parameter gives you the ability to decide
  696. how many accounts will be available on your system.  If you run a system
  697. in which more accounts are used than there are accounts reserved, then new
  698. accounts are generated by killing old accounts.  Accounts are recycled
  699. by finding the account who's last use is the oldest of all the accounts
  700. in the system, under the assumption such an account is no longer active.
  701.  All space is reserved immediately for these accounts.  The size of
  702. this file can be estimated from the formula(this includes a possible held
  703. file for every USER).
  704.   # of bytes = LOGSIZE * (82 + MAXROOMS + (6 * MAIL-SLOTS) + 8092)
  705.  so if you are operating in a restricted environment, plan accordingly.
  706. If you need to, you can expand the size of the log through the use of
  707. the `DATACHNG' utility, but the log cannot be shrunk.  This is a numerical
  708. value.  Here is an example:
  709.  #LOGSIZE 200
  710.  For a system with 100 rooms(`#MAXROOMS'), and 100 mail slots(`#MAIL-SLOTS')
  711. this would be just over 150K bytes for 200 users.
  712. It should be noted that the larger the logsize, the longer the `CONFG'
  713. utility will take to re-configure the system.  Each entry is checked and
  714. updated when this is done.
  715. .SUBUNIT  #MAXROOMS
  716.  This numerical parameter specifies the maximum number of rooms your
  717. system will support.  Since the baseRoom, Aide>, and Mail> room are
  718. necessary, the smallest value you can give is 3.  The largest number is
  719. 65536.  If you wanted to have a 64 room system, you'd have
  720.  #MAXROOMS 64
  721.  You can use the following formula to estimate the number of bytes a
  722. room file will take up on your SYSTEM:
  723.  # of bytes = MAXROOMS *(50 + (6 * MSG-SLOTS))
  724.  For a system with 100 rooms and 200 message slots(`#MSG-SLOTS'), you
  725. would need aproximately 125 Kbytes of disk space.  It should be noted that the
  726. larger this is, the longer the `CONFG' takes since each room is updated.
  727. .SUBUNIT #MAIL-SLOTS
  728.  This is a numerical parameter specifying how many messages per log
  729. record you wish to reserve for Mail.  The Mail> room is the only
  730. room in the system whose data is not kept in CTDLROOM.SYS.  Instead, the
  731. file CTDLLOG.SYS contains the "Mail>" room, reserving for each account
  732. enough room for MAIL-SLOTS Mail messages.  Therefore, this parameter gives
  733. you the ability to decide the maximum number of Mail> messages per user
  734. they can access.  Please remember if a user gets more messages
  735. in Mail> than there are MAIL-SLOTS between two successive logins, then
  736. they will lose the earlier messages sent to them.  Another consideration
  737. is many users like to review old Mail when engaged in an in-depth
  738. private conversation.  Therefore, setting MAIL-SLOTS to a low value may
  739. not be the attractive alternative it first seems.  However, it should
  740. go without saying a high MAIL-SLOTS value may eat up more room than
  741. necessary on your drives.  The section on `#LOGSIZE' will give an exact
  742. formula for how much space your log will take up.
  743. .SUBUNIT #MESSAGEK
  744.  MESSAGEK defines how much disk space you wish to allocate for messages
  745. on your installation.  Because messages can vary in size, there is no way
  746. to define how many messages you can
  747. have in your system, or how fast they turnover.  All the messages in your
  748. system will reside in CTDLMSG.SYS, and thus the number of messages in your
  749. system at any given moment will depend totally on the length of the messages
  750. being entered into the system by your users.  The turnover rate of your
  751. messages will depend on how busy your system is.
  752.  For example, if you reserve 600K for messages, you would have an approximate
  753. 1200 messages(messages can get as large a 7500 characters so if you have verbose
  754. users, this could be as low as 80 messages if they were all to the limit, a
  755. good conservative estimate is 512 characters which gives 1200 messages).  If
  756. you get 25 callers a day and each posted 4 messages, you would have a
  757. turnover of about 12 days.  If you networking and get 25 messages a day
  758. in 4 rooms, plus these callers, you have a 6 day turnover.  The higher the
  759. volume, the quicker the turnover.  When the messages turnover, older message
  760. space gets reused which means older messages are deleted.  Shared rooms can
  761. have a very high volume.
  762.  The sysop of an installation should also keep in mind that very large
  763. systems, with many new messages, can be intimidating to new users, so
  764. large message spaces should be approached with caution.  Remember, there
  765. is a utility(`Expand') for expanding the message base, but not for shrinking
  766. it.  The only method available to shrink the message base is to delete the
  767. existing one and then reset this value to a smaller amount.  You will lose
  768. all the messages(including mail) if you do this.
  769.  This is a numerical value which you specify in 'K', which is actually
  770. 1024 bytes/K.  So, for example, to specify a 250K message file
  771.  #MESSAGEK 250               -- 250K message base
  772.  The above parameter will require 250 Kbytes of disk space.
  773. .UNIT Utilities
  774. .UNIT Installation
  775. .UNIT C86Net
  776. .UNIT BBS List
  777. .UNIT Citadel
  778. .UNIT Files
  779.  This section details the various files that exist in the Citadel BBS system.
  780. Most of these files are maintained by the BBS software and you only need to know
  781. a general idea of why they are there and how big they will be.  Some have particular
  782. formats and must be maintained by the Sysop. The files are:
  783.  `debug.sys' - System debug information
  784.  `crash.sys' - System failure message
  785. .SUBUNIT debug.sys
  786.  This file is only generated if the `#AuditArea' is defined.  It will be generated
  787. only if the debug sysop option is turned on or there is a serious error or problem
  788. and the system needs to report information.  Most of the entries in this file are
  789. also displayed on the console.  This is a log that should be examined for problems
  790. that could occur in your setup.  Generally, if you have a problem and want someone
  791. to assist you, it would be a good idea to make this file available(in other words
  792. don't delete until your sure it wont be needed).
  793. .SUBUNIT crash.sys
  794.  This file usually contains only a single error message.  It is used to display
  795. information about a failure while the BBS was initializing and did not have the
  796. screen and windows open to report the problem.  This file will occur in the
  797. current directory which might not be `#HOMEAREA', since the BBS is going to stop
  798. itself immediately.